package com.ztesoft.web.baseconfig.db.dao.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

import com.ztesoft.web.baseconfig.db.arg.TargetColMapArg;
import com.ztesoft.web.baseconfig.db.po.TargetColMapPO;

public interface ITargetColMapMapper {
    
    List<Integer> countByArg(TargetColMapArg arg);

    List<TargetColMapPO> selectByArg(TargetColMapArg arg);
    
    /**
	 * 根据源表ID和目标表ID查
	 * 
	 * @param tcmPO
	 * @return
	 */
    List<TargetColMapPO> selectByDoubleId(TargetColMapPO tcmPO);

    List<TargetColMapPO> selectByPrimaryKey(Integer id);

    List<TargetColMapPO> selectByArgAndPage(TargetColMapArg arg, RowBounds rowBound);

    int insert(TargetColMapPO record);

    int insertSelective(TargetColMapPO record);

    int insertBatch(@Param("list") List<TargetColMapPO> records);

    int updateByArgSelective(@Param("record") TargetColMapPO record,
            @Param("arg") TargetColMapArg arg);

    int updateByArg(@Param("record") TargetColMapPO record,
            @Param("arg") TargetColMapArg arg);
    
    int updateDToA(Integer id);
    int updateTo00X(Integer id);

    int updateByPrimaryKeySelective(TargetColMapPO record);

    int updateByPrimaryKey(TargetColMapPO record);
    
    int deleteByArg(TargetColMapArg arg);
    
    int deleteByPrimaryKey(Integer id);
 
    List<TargetColMapPO> selectSourceColumn(Integer sourceDataId);
}